package com.example;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.SessionAttribute;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 阿宾
 * Date: 2025-04-08
 * Time: 19:23
 */

@RestController
@RequestMapping("/user")
public class UserController {

    @RequestMapping("/login")
    public Boolean login(String userName, String password, HttpSession session){
        //参数校验，需要判断输入参数是否为空
        //Spring中提供了方法
        //StringUtils.hasLength(userName)表示userName长度是否为空，非空返回true
        if(!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)){
            return false;
        }
        //判断用户名和密码是否正确
        //正常判断用户名和密码的正确是要和数据库连接，现在先固定
        if("zhangsan".equals(userName) && "123456".equals(password)){
            //存储session，为了记录请求的信息
            session.setAttribute("sessionUserName",userName);
            return true;
        }
        return false;
    }

    /**
     * 查询登录用户的用户名
     * @return 返回用户名
     */
    @RequestMapping("/getLoginUser")
    public String getLoginUser(HttpSession session){
        //从session中获取用户登录的用户名
        String userName = (String) session.getAttribute("sessionUserName");

        //如果用户已经登录，则直接返回用户名
        if(StringUtils.hasLength(userName)){
            return userName;
        }
        return "";
    }
}
